﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace ParaEditor.Infrastructure
{
    public class ConfigureFile
    {
        public string ConfigureFilePath;				//INI文件名     

        //声明读写INI文件的API函数


        [DllImport("kernel32")]
        private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);

        [DllImport("kernel32")]
        private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);


        public ConfigureFile()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }

        //类的构造函数，传递INI文件名

        public ConfigureFile(string ConfigureFilePath)
        {
            this.ConfigureFilePath = ConfigureFilePath;
        }

        //写INI文件

        public void WriteConfigureFileValue(string Section, string Key, string Value)
        {
            WritePrivateProfileString(Section, Key, Value, this.ConfigureFilePath);
        }

        //读取INI文件指定

        public string ReadConfigureFileValue(string Section, string Key)
        {
            StringBuilder temp = new StringBuilder(255);
            int i = GetPrivateProfileString(Section, Key, "", temp, 255, this.ConfigureFilePath);
            Console.Write(temp.ToString());
            if (temp.ToString() == null || temp.ToString() == "")
            {
                throw new Exception("读取配置文件失败.");
            }
            return temp.ToString();
        }
    }
}
